home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / bnkpcb20.zip / BANKER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-04-27  |  15KB  |  848 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER003
  20.     Integer  INTEGER004
  21.     Integer  INTEGER005
  22.     Integer  INTEGER006
  23.     Integer  INTEGER007
  24.     Integer  INTEGER008
  25.     Integer  INTEGER009
  26.     Integer  INTEGER010
  27.     Integer  INTEGER011
  28.     Integer  INTEGER012
  29.     Integer  INTEGER013
  30.     Integer  INTEGER014
  31.     Integer  INTEGER015
  32.     Integer  INTEGER016
  33.     Integer  INTEGER017
  34.     Integer  INTEGER018
  35.     Integer  INTEGER019
  36.     Integer  INTEGER020
  37.     Integer  INTEGER021
  38.     Integer  INTEGER023
  39.     Integer  INTEGER025
  40.     Integer  INTEGER027
  41.     String   STRING004
  42.     String   STRING005
  43.     String   STRING006
  44.     String   STRING007
  45.     String   STRING008
  46.     String   STRING009
  47.     String   STRING010
  48.     String   STRING011
  49.     String   STRING012
  50.     String   STRING013
  51.     String   STRING014
  52.     String   STRING015
  53.     String   STRING016
  54.     String   STRING017
  55.     String   TSTRING018(2)
  56.     Declare  Function FUNCTION001(Integer INTEGER022) Integer
  57.     Declare  Function FUNCTION002(Integer INTEGER024) Integer
  58.     Declare  Function FUNCTION003(Integer INTEGER026) Integer
  59.     Declare  Procedure PROC001()
  60.     Declare  Procedure PROC002(Var String STRING001, Var String STRING002, Var String STRING003)
  61.     Declare  Procedure PROC003()
  62.  
  63. ;------------------------------------------------------------------------------
  64.  
  65.     Goto LABEL001
  66.     End
  67.  
  68. ;------------------------------------------------------------------------------
  69.  
  70.     Procedure PROC001()
  71.  
  72.     Integer  INTEGER001
  73.     Integer  INTEGER002
  74.     Byte     BYTE001
  75.  
  76.     INTEGER001 = GetDrive()
  77.     INTEGER002 = Os()
  78.     FOpen 1, PPEPath() + "BANKER.CFG", 0, 2
  79.     BYTE001 = FTell(1)
  80.     FClose 1
  81.  
  82.     EndProc
  83.  
  84.  
  85. ;------------------------------------------------------------------------------
  86.  
  87.     Procedure PROC002(Var String STRING001, Var String STRING002, Var String STRING003)
  88.  
  89.     STRING001 = "NO"
  90.     STRING002 = "UNREGISTERED"
  91.     STRING003 = "UNREGISTERED"
  92.  
  93.     EndProc
  94.  
  95.  
  96. ;------------------------------------------------------------------------------
  97.  
  98.     Procedure PROC003()
  99.  
  100.     Color 0
  101.     Cls
  102.     AnsiPos 25, 10
  103.     Print "@X0FSHAREWARE EVALUATION VERSION"
  104.     AnsiPos 20, 12
  105.     Print "@X0ECopyright 1995,96 (c) Shuttle Software"
  106.     AnsiPos 30, 14
  107.     Print "@X0EAll Rights Reserved"
  108.     Delay 55
  109.  
  110.     EndProc
  111.  
  112.     :LABEL001
  113.     TSTRING018(0) = "UserName,C,30,0"
  114.     TSTRING018(1) = "TimeSaved,N,6,0"
  115.     INTEGER003 = 0
  116.     INTEGER004 = 0
  117.     INTEGER005 = 0
  118.     INTEGER006 = 0
  119.     INTEGER007 = 0
  120.     INTEGER008 = 0
  121.     INTEGER009 = 0
  122.     INTEGER010 = 0
  123.     INTEGER011 = 0
  124.     INTEGER012 = 0
  125.     INTEGER013 = 0
  126.     INTEGER014 = 0
  127.     INTEGER015 = 0
  128.     INTEGER016 = 0
  129.     INTEGER017 = 0
  130.     INTEGER018 = 0
  131.     INTEGER019 = 0
  132.     INTEGER020 = 0
  133.     INTEGER021 = 0
  134.     STRING004 = "NO"
  135.     STRING005 = "YES"
  136.     STRING006 = "NO"
  137.     STRING007 = ""
  138.     STRING008 = "NO"
  139.     STRING009 = ""
  140.     STRING010 = ""
  141.     STRING011 = "YES"
  142.     STRING012 = ""
  143.     STRING013 = ""
  144.     STRING014 = ""
  145.     STRING015 = ""
  146.     STRING016 = ""
  147.     STRING017 = ""
  148.     PROC001()
  149.     STRING014 = PPEPath() + "BANKER.CFG"
  150.     FOpen 1, STRING014, 0, 2
  151.     FGet 1, INTEGER016
  152.     FGet 1, STRING011
  153.     FClose 1
  154.     STRING013 = PPEPath() + "TIME.CFG"
  155.     If (Exist(STRING013)) Then
  156.         FOpen 1, STRING013, 0, 2
  157.         FGet 1, INTEGER004
  158.         FGet 1, INTEGER017
  159.         FGet 1, INTEGER005
  160.         FGet 1, INTEGER018
  161.         FGet 1, INTEGER006
  162.         FGet 1, INTEGER019
  163.         FClose 1
  164.     Endif
  165.     If (Exist(STRING013)) Then
  166.         If (CurSec() == INTEGER004) Then
  167.             INTEGER016 = INTEGER017
  168.         Endif
  169.         If (CurSec() == INTEGER005) Then
  170.             INTEGER016 = INTEGER018
  171.         Endif
  172.         If (CurSec() == INTEGER006) Then
  173.             INTEGER016 = INTEGER019
  174.         Endif
  175.     Endif
  176.     INTEGER015 = INTEGER016
  177.     If (AnsiOn()) Then
  178.         PROC002(STRING017, STRING015, STRING016)
  179.         Log "-=≡[ Time Banker Entered ]≡=-", 0
  180.     Else
  181.         PrintLn "@X0CThis program requires that your ANSI support is enabled!"
  182.         Wait
  183.         End
  184.     Endif
  185.     STRING012 = PPEPath() + "BANKER.DBF"
  186.     STRING009 = PPEPath() + "BANKER.NDX"
  187.     Gosub LABEL002
  188.     If (INTEGER013 > INTEGER016) Then
  189.         INTEGER013 = INTEGER016
  190.         Color 0
  191.         Cls
  192.         AnsiPos 1, 11
  193.         PrintLn "@X8A               Banker balance adjusted to reflect balance limit!"
  194.         AnsiPos 1, 20
  195.         Wait
  196.     Endif
  197.     INTEGER014 = MinLeft()
  198.     Gosub LABEL011
  199.     PROC003()
  200.     End
  201.  
  202. ;------------------------------------------------------------------------------
  203.  
  204.     Function FUNCTION001(Integer INTEGER022) Integer
  205.  
  206.     Integer  INTEGER024
  207.  
  208.     If (Abs(INTEGER022) > INTEGER015) Then
  209.         PrintLn 
  210.         PrintLn "@X0C                  The maximum allowable transaction is@X07: @X0A", INTEGER015
  211.         FUNCTION001 = 0
  212.     Else
  213.         FUNCTION001 = 1
  214.     Endif
  215.  
  216.     EndFunc
  217.  
  218.  
  219. ;------------------------------------------------------------------------------
  220.  
  221.     Function FUNCTION002(Integer INTEGER024) Integer
  222.  
  223.     Integer  INTEGER026
  224.  
  225.     If (INTEGER013 + INTEGER024 > INTEGER016) Then
  226.         PrintLn 
  227.         PrintLn "@X0C                   The maximum allowable balance is@X07: @X0A", INTEGER016
  228.         FUNCTION002 = 0
  229.     Else
  230.         FUNCTION002 = 1
  231.     Endif
  232.  
  233.     EndFunc
  234.  
  235.  
  236. ;------------------------------------------------------------------------------
  237.  
  238.     Function FUNCTION003(Integer INTEGER026) Integer
  239.  
  240.     If ((FUNCTION001(INTEGER026) == 1) && (FUNCTION002(INTEGER026) == 1)) Then
  241.         INTEGER014 = INTEGER014 - INTEGER026
  242.         INTEGER013 = INTEGER013 + INTEGER026
  243.         FUNCTION003 = 1
  244.     Else
  245.         PrintLn 
  246.         PrintLn "@X8C                       Transaction Not Processed!"
  247.         PrintLn 
  248.         Wait
  249.         FUNCTION003 = 0
  250.     Endif
  251.  
  252.     EndFunc
  253.  
  254.     :LABEL002
  255.     DOpen 1, STRING012, 0
  256.     DnOpen 1, STRING009
  257.     DTag 1, "BANKER"
  258.     DSeek 1, U_Name()
  259.     If (DChkStat(1) == 0) Then
  260.         STRING008 = "YES"
  261.         STRING004 = "YES"
  262.         DGet 1, "TimeSaved", INTEGER013
  263.     Endif
  264.     DCloseAll
  265.     If (STRING008 == "NO") Gosub LABEL003
  266.     If (STRING004 == "NO") Then
  267.         PrintLn "@X0CError in DataBase!"
  268.         Wait
  269.         End
  270.     Endif
  271.     Return
  272.     :LABEL003
  273.     DOpen 1, STRING012, 1
  274.     DnOpen 1, STRING009
  275.     DNew 1
  276.     DPut 1, "UserName", U_Name()
  277.     DPut 1, "TimeSaved", 0
  278.     DAdd 1
  279.     DCloseAll
  280.     DOpen 1, STRING012, 0
  281.     DnOpen 1, STRING009
  282.     DTag 1, "BANKER"
  283.     DSeek 1, U_Name()
  284.     If (DChkStat(1) == 0) Then
  285.         STRING008 = "YES"
  286.         STRING004 = "YES"
  287.         DGet 1, "TimeSaved", INTEGER013
  288.     Endif
  289.     DCloseAll
  290.     Return
  291.     :LABEL004
  292.     DOpen 1, STRING012, 0
  293.     DnOpen 1, STRING009
  294.     DTag 1, "BANKER"
  295.     DSeek 1, U_Name()
  296.     If (DChkStat(1) == 0) Then
  297.         STRING008 = "YES"
  298.         STRING004 = "YES"
  299.         DPut 1, "TimeSaved", INTEGER013
  300.     Endif
  301.     DCloseAll
  302.     Return
  303.     :LABEL005
  304.     For INTEGER009 = 13 To 22
  305.         AnsiPos 1, INTEGER009
  306.         Color 0
  307.         ClrEol
  308.     Next
  309.     Return
  310.     :LABEL006
  311.     For INTEGER009 = 12 To 22
  312.         AnsiPos 1, INTEGER009
  313.         Color 0
  314.         ClrEol
  315.     Next
  316.     Return
  317.     :LABEL007
  318.     STRING006 = "NO"
  319.     If (INTEGER010 == 0) Return
  320.     If (INTEGER010 > INTEGER013) Then
  321.         AnsiPos 15, 16
  322.         PrintLn "@X0CSorry, but your maximum allowable bet is @X0A", INTEGER013
  323.         PrintLn 
  324.         Wait
  325.         Return
  326.     Endif
  327.     INTEGER007 = Random(10)
  328.     INTEGER008 = Random(10)
  329.     While (STRING006 <> "YES") Do
  330.         STRING007 = ""
  331.         Color 0
  332.         Cls
  333.         PrintLn 
  334.         PrintLn "                   @X0B▐@X10 @X1B┌─────────────────────────────────@X10┐ @X08▌@X0E"
  335.         PrintLn "                   @X0B▐@X10 @X1B│       @X1E-=≡[ HIGH-LOW ]≡=-        @X10│ @X08▌@X0E"
  336.         PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│                                 @X10│ @X08▌@X07▄▄@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  337.         PrintLn "@X0E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│    @X1ANumbers Range From 0 - 10    @X10│ @X08▌@X06▄▄@X0E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  338.         PrintLn "@X0D▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│                                 @X10│ @X08▌@X05▄▄@X0D▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  339.         PrintLn "@X0C▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│  @X1FFirst Number Selected Is:      @X10│ @X08▌@X04▄▄@X0C▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  340.         PrintLn "@X0A▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B└@X10─────────────────────────────────┘ @X08▌@X02▄▄@X0A▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  341.         PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X07▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X07"
  342.         AnsiPos 52, 7
  343.         Print "@X1C", INTEGER007
  344.         AnsiPos 1, 12
  345.         PrintLn "@X0B                     ▐@X10 @X1B┌─────────────────────────────@X10┐ @X08▌@X07"
  346.         PrintLn "                     @X0B▐@X10 @X1B│    @X1EIS THE SECOND NUMBER     @X10│ @X08▌@X07"
  347.         PrintLn "                     @X0B▐@X10 @X1B│                             @X10│ @X08▌@X07"
  348.         PrintLn "                     @X0B▐@X10 @X1B│ [@X1EH@X10]@X1Figher than the number    @X10│ @X08▌@X07"
  349.         PrintLn "                     @X0B▐@X10 @X1B│ [@X1EL@X10]@X1Fower than the number     @X10│ @X08▌@X07"
  350.         PrintLn "                     @X0B▐@X10 @X1B│ [@X1ES@X10]@X1Fame as the number        @X10│ @X08▌@X07"
  351.         PrintLn "                     @X0B▐@X10 @X1B└@X10─────────────────────────────┘ @X08▌@X07"
  352.         AnsiPos 51, 15
  353.         Print "@X1F", INTEGER007
  354.         AnsiPos 50, 16
  355.         Print "@X1F", INTEGER007
  356.         AnsiPos 47, 17
  357.         Print "@X1F", INTEGER007
  358.         AnsiPos 27, 20
  359.         Print "@X0AHigh-Low Command >>"
  360.         InputText " ", STRING007, 15, 1
  361.         If (Upper(STRING007) == "H") Then
  362.             If (INTEGER007 < INTEGER008) Then
  363.                 Gosub LABEL006
  364.                 AnsiPos 1, 12
  365.                 PrintLn "@X0A                         Correct! The number was @X0F", INTEGER008
  366.                 PrintLn 
  367.                 PrintLn "@X0A                         You've just won @X0F", INTEGER010, "@X0A minutes!"
  368.                 INTEGER013 = INTEGER013 + INTEGER010
  369.                 STRING006 = "YES"
  370.                 If (INTEGER013 > INTEGER016) Then
  371.                     PrintLn 
  372.                     PrintLn "@X0C  You're winnings have exceeded house limits! Your account has been adjusted."
  373.                     INTEGER013 = INTEGER016
  374.                 Endif
  375.                 Goto LABEL008
  376.             Endif
  377.             Gosub LABEL006
  378.             AnsiPos 1, 12
  379.             PrintLn "@X0C                         Wrong! The number was @X0F", INTEGER008
  380.             PrintLn 
  381.             PrintLn "@X0C                         You've just lost @X0F", INTEGER010, "@X0C minutes!"
  382.             INTEGER013 = INTEGER013 - INTEGER010
  383.             STRING006 = "YES"
  384.         Endif
  385.         :LABEL008
  386.         If (Upper(STRING007) == "L") Then
  387.             If (INTEGER007 > INTEGER008) Then
  388.                 Gosub LABEL006
  389.                 AnsiPos 1, 12
  390.                 PrintLn "@X0A                         Correct! The number was @X0F", INTEGER008
  391.                 PrintLn 
  392.                 PrintLn "@X0A                         You've just won @X0F", INTEGER010, "@X0A minutes!"
  393.                 INTEGER013 = INTEGER013 + INTEGER010
  394.                 STRING006 = "YES"
  395.                 If (INTEGER013 > INTEGER016) Then
  396.                     PrintLn 
  397.                     PrintLn "@X0C  You're winnings have exceeded house limits! Your account has been adjusted."
  398.                     INTEGER013 = INTEGER016
  399.                 Endif
  400.                 Goto LABEL009
  401.             Endif
  402.             Gosub LABEL006
  403.             AnsiPos 1, 12
  404.             PrintLn "@X0C                         Wrong! The number was @X0F", INTEGER008
  405.             PrintLn 
  406.             PrintLn "@X0C                         You've just lost @X0F", INTEGER010, "@X0C minutes!"
  407.             INTEGER013 = INTEGER013 - INTEGER010
  408.             STRING006 = "YES"
  409.         Endif
  410.         :LABEL009
  411.         If (Upper(STRING007) == "S") Then
  412.             If (INTEGER007 == INTEGER008) Then
  413.                 Gosub LABEL006
  414.                 AnsiPos 1, 12
  415.                 PrintLn "@X0A                         Correct! The number was @X0F", INTEGER008
  416.                 PrintLn 
  417.                 PrintLn "@X0A                         You've just won @X0F", INTEGER010, "@X0A minutes!"
  418.                 INTEGER013 = INTEGER013 + INTEGER010
  419.                 STRING006 = "YES"
  420.                 If (INTEGER013 > INTEGER016) Then
  421.                     PrintLn 
  422.                     PrintLn "@X0C  You're winnings have exceeded house limits! Your account has been adjusted."
  423.                     INTEGER013 = INTEGER016
  424.                 Endif
  425.                 Continue
  426.             Endif
  427.             Gosub LABEL006
  428.             AnsiPos 1, 12
  429.             PrintLn "@X0C                         Wrong! The number was @X0F", INTEGER008
  430.             PrintLn 
  431.             PrintLn "@X0C                         You've just lost @X0F", INTEGER010, "@X0C minutes!"
  432.             INTEGER013 = INTEGER013 - INTEGER010
  433.             STRING006 = "YES"
  434.         Endif
  435.     EndWhile
  436.     PrintLn 
  437.     PrintLn 
  438.     Wait
  439.     Return
  440.     :LABEL010
  441.     If (INTEGER020 == 19) Then
  442.         AnsiPos 25, 19
  443.         Print "@X1CQ@X1Fuit & exit back to the BBS  @X1B"
  444.     Endif
  445.     If (INTEGER020 == 18) Then
  446.         AnsiPos 25, 18
  447.         Print "@X1CG@X1Famble some of my banked time@X1B"
  448.     Endif
  449.     If (INTEGER020 == 17) Then
  450.         AnsiPos 25, 17
  451.         Print "@X1CC@X1Follect time saved and quit  @X1B"
  452.     Endif
  453.     If (INTEGER020 == 16) Then
  454.         AnsiPos 25, 16
  455.         Print "@X1CT@X1Fransfer time left and logoff@X1B"
  456.     Endif
  457.     If (INTEGER020 == 15) Then
  458.         AnsiPos 25, 15
  459.         Print "@X1CW@X1Fithdraw time from the banker@X1B"
  460.     Endif
  461.     If (INTEGER020 == 14) Then
  462.         AnsiPos 25, 14
  463.         Print "@X1CD@X1Feposit time into the banker @X1B"
  464.     Endif
  465.     If (INTEGER021 == 19) Then
  466.         AnsiPos 25, 19
  467.         Print "@X70Quit & exit back to the BBS  @X1B"
  468.     Endif
  469.     If (INTEGER021 == 18) Then
  470.         AnsiPos 25, 18
  471.         Print "@X70Gamble some of my banked time@X1B"
  472.     Endif
  473.     If (INTEGER021 == 17) Then
  474.         AnsiPos 25, 17
  475.         Print "@X70Collect time saved and quit  @X1B"
  476.     Endif
  477.     If (INTEGER021 == 16) Then
  478.         AnsiPos 25, 16
  479.         Print "@X70Transfer time left and logoff@X1B"
  480.     Endif
  481.     If (INTEGER021 == 15) Then
  482.         AnsiPos 25, 15
  483.         Print "@X70Withdraw time from the banker@X1B"
  484.     Endif
  485.     If (INTEGER021 == 14) Then
  486.         AnsiPos 25, 14
  487.         Print "@X70Deposit time into the banker @X1B"
  488.     Endif
  489.     Return
  490.     :LABEL011
  491.     While (Upper(STRING010) <> "Q") Do
  492.         STRING005 = "YES"
  493.         INTEGER010 = 0
  494.         INTEGER012 = 0
  495.         Color 0
  496.         Cls
  497.         PrintLn "    @X0B▐@X1B ┌─────────────────────────────────────────────────────────────────@X10┐ @X08▌"
  498.         PrintLn "    @X0B▐@X1B │                        @X1ETIME BANKER v2.0                         @X10│ @X08▌"
  499.         PrintLn "    @X0B▐@X1B │                                                                 @X10│ @X08▌"
  500.         PrintLn "    @X0B▐@X1B │                                                                 @X10│ @X08▌"
  501.         PrintLn "    @X0B▐@X1B └@X10─────────────────────────────────────────────────────────────────┘ @X08▌"
  502.         PrintLn 
  503.         AnsiPos 17, 4
  504.         Print "@X1FSysOp@X17: @X1F", STRING015
  505.         AnsiPos 43, 4
  506.         Print "@X1FBBS@X17: @X1F", STRING016
  507.         AnsiPos 1, 8
  508.         PrintLn "@X0E              Maximum Allowed Account Balance @X07....... @X0A", INTEGER016, " @X02Minutes"
  509.         PrintLn "@X0E              Your Current Time Banker Balance @X07...... @X0A", INTEGER013, " @X02Minutes"
  510.         PrintLn "@X0E              Time Available Online For Today Is @X07.... @X0A", INTEGER014, " @X02Minutes"
  511.         AnsiPos 1, 13
  512.         PrintLn "                   @X0B▐@X10 @X1B┌─────────────────────────────────@X10┐ @X08▌@X0E"
  513.         PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│  @X1CD@X1Feposit time into the banker   @X10│ @X08▌@X07▄▄@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  514.         PrintLn "@X0E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│  @X1CW@X1Fithdraw time from the banker  @X10│ @X08▌@X06▄▄@X0E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  515.         PrintLn "@X0D▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│  @X1CT@X1Fransfer time left and logoff  @X10│ @X08▌@X05▄▄@X0D▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  516.         PrintLn "@X0C▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│  @X1CC@X1Follect time saved and quit    @X10│ @X08▌@X04▄▄@X0C▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  517.         PrintLn "@X0A▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│  @X1CG@X1Famble some of my banked time  @X10│ @X08▌@X02▄▄@X0A▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  518.         PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0B▐@X10 @X1B│  @X1CQ@X1Fuit & exit back to the BBS    @X10│ @X08▌@X07▄▄@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  519.         PrintLn "                   @X0B▐@X10 @X1B└@X10─────────────────────────────────┘ @X08▌@X0E"
  520.         PrintLn 
  521.         Print "@X0A                 Use the @X0F @X0Aand @X0F @X0Akeys to highlight an option"
  522.         AnsiPos 25, 19
  523.         Print "@X70Quit & exit back to the BBS  @X1B"
  524.         INTEGER020 = 19
  525.         INTEGER021 = 19
  526.         While (STRING005 <> "NO") Do
  527.             STRING010 = Inkey()
  528.             If (Left(STRING010, 2) == "UP") Then
  529.                 If (INTEGER021 > 14) Then
  530.                     INTEGER020 = INTEGER021
  531.                     INTEGER021 = INTEGER021 - 1
  532.                     Gosub LABEL010
  533.                 Endif
  534.             Endif
  535.             If (Left(STRING010, 4) == "DOWN") Then
  536.                 If (INTEGER021 < 19) Then
  537.                     INTEGER020 = INTEGER021
  538.                     INTEGER021 = INTEGER021 + 1
  539.                     Gosub LABEL010
  540.                 Endif
  541.             Endif
  542.             If (STRING010 == Chr(13)) Then
  543.                 If (INTEGER021 == 14) Then
  544.                     STRING010 = "D"
  545.                     STRING005 = "NO"
  546.                 Endif
  547.                 If (INTEGER021 == 15) Then
  548.                     STRING010 = "W"
  549.                     STRING005 = "NO"
  550.                 Endif
  551.                 If (INTEGER021 == 16) Then
  552.                     STRING010 = "T"
  553.                     STRING005 = "NO"
  554.                 Endif
  555.                 If (INTEGER021 == 17) Then
  556.                     STRING010 = "C"
  557.                     STRING005 = "NO"
  558.                 Endif
  559.                 If (INTEGER021 == 18) Then
  560.                     STRING010 = "G"
  561.                     STRING005 = "NO"
  562.                 Endif
  563.                 If (INTEGER021 == 19) Then
  564.                     STRING010 = "Q"
  565.                     STRING005 = "NO"
  566.                 Endif
  567.             Endif
  568.             If (Upper(STRING010) == Chr(68)) Then
  569.                 STRING010 = "D"
  570.                 STRING005 = "NO"
  571.             Endif
  572.             If (Upper(STRING010) == Chr(87)) Then
  573.                 STRING010 = "W"
  574.                 STRING005 = "NO"
  575.             Endif
  576.             If (Upper(STRING010) == Chr(84)) Then
  577.                 STRING010 = "T"
  578.                 STRING005 = "NO"
  579.             Endif
  580.             If (Upper(STRING010) == Chr(67)) Then
  581.                 STRING010 = "C"
  582.                 STRING005 = "NO"
  583.             Endif
  584.             If (Upper(STRING010) == Chr(71)) Then
  585.                 STRING010 = "G"
  586.                 STRING005 = "NO"
  587.             Endif
  588.             If (Upper(STRING010) == Chr(81)) Then
  589.                 STRING010 = "Q"
  590.                 STRING005 = "NO"
  591.             Endif
  592.         EndWhile
  593.         If (STRING010 == "T") Then
  594.             INTEGER012 = INTEGER014
  595.             If (INTEGER014 + INTEGER013 > INTEGER016) Then
  596.                 Color 0
  597.                 Cls
  598.                 AnsiPos 1, 8
  599.                 PrintLn "@X0C         This deposit is greater than your maximum allowable balance!"
  600.                 PrintLn 
  601.                 PrintLn "@X0B                 Your Current Time Banker Balance Is @X07... @X0A", INTEGER013
  602.                 PrintLn "@X0B                 Time Currently Available Online @X07....... @X0A", INTEGER014
  603.                 PrintLn "@X0B                 Maximum Allowed Account Balance @X07....... @X0A", INTEGER016
  604.                 PrintLn "@X0B                 Maximum Allowed Transaction @X07........... @X0A", INTEGER015
  605.                 PrintLn 
  606.                 PrintLn "@X8C                         Transaction Not Processed!"
  607.                 PrintLn 
  608.                 Wait
  609.                 Goto LABEL012
  610.             Endif
  611.             INTEGER011 = FUNCTION003(INTEGER012)
  612.             Gosub LABEL004
  613.             Gosub LABEL005
  614.             AnsiPos 1, 15
  615.             Print "@X0A                           Transaction Processed!"
  616.             Delay 15
  617.             AdjTime -MinLeft()
  618.             Delay 6
  619.             AdjTime 1
  620.             Delay 15
  621.             If (STRING017 <> "YES") PROC003()
  622.             Bye
  623.             End
  624.             :LABEL012
  625.             Continue
  626.         Endif
  627.         If (STRING010 == "C") Then
  628.             If (EvtTimeAdj()) Goto LABEL015
  629.             If (INTEGER013 > 0) Then
  630.                 If (INTEGER013 > INTEGER015) Then
  631.                     Color 0
  632.                     Cls
  633.                     AnsiPos 1, 8
  634.                     PrintLn "@X0C        This withdrawl is greater than the maximum allowed transaction!"
  635.                     PrintLn 
  636.                     PrintLn "@X0B                 Your Current Time Banker Balance Is @X07... @X0A", INTEGER013
  637.                     PrintLn "@X0B                 Time Currently Available Online @X07....... @X0A", INTEGER014
  638.                     PrintLn "@X0B                 Maximum Allowed Account Balance @X07....... @X0A", INTEGER016
  639.                     PrintLn "@X0B                 Maximum Allowed Transaction @X07........... @X0A", INTEGER015
  640.                     PrintLn 
  641.                     PrintLn "@X8C                         Transaction Not Processed!"
  642.                     PrintLn 
  643.                     Wait
  644.                     Goto LABEL013
  645.                 Endif
  646.                 AdjTime INTEGER013 + INTEGER014 - MinLeft()
  647.                 INTEGER013 = 0
  648.                 Gosub LABEL004
  649.                 Gosub LABEL005
  650.                 AnsiPos 1, 15
  651.                 Print "@X0A                           Transaction Processed!"
  652.                 Delay 36
  653.                 If (STRING017 <> "YES") PROC003()
  654.                 End
  655.                 :LABEL013
  656.                 Goto LABEL014
  657.             Endif
  658.             Gosub LABEL005
  659.             AnsiPos 10, 14
  660.             PrintLn "@X0CSorry, but your account is empty! Nothing here to withdraw..."
  661.             Delay 55
  662.             :LABEL014
  663.             Goto LABEL016
  664.             :LABEL015
  665.             Gosub LABEL005
  666.             AnsiPos 7, 14
  667.             PrintLn "@X0CSorry, but withdrawls are not available due to an upcoming event!"
  668.             Delay 55
  669.             :LABEL016
  670.             Continue
  671.         Endif
  672.         If (STRING010 == "D") Then
  673.             Gosub LABEL005
  674.             AnsiPos 1, 14
  675.             Print "@X0A           How much time would you like to deposit"
  676.             InputInt " ", INTEGER012, 15
  677.             INTEGER012 = Abs(INTEGER012)
  678.             PrintLn 
  679.             If (INTEGER012 > INTEGER014) Then
  680.                 PrintLn 
  681.                 PrintLn 
  682.                 PrintLn "@X0C               This deposit is greater than time available online!"
  683.                 PrintLn 
  684.                 Wait
  685.                 Goto LABEL017
  686.             Endif
  687.             INTEGER011 = FUNCTION003(INTEGER012)
  688.             :LABEL017
  689.             Continue
  690.         Endif
  691.         If (STRING010 == "W") Then
  692.             If (EvtTimeAdj()) Goto LABEL019
  693.             Gosub LABEL005
  694.             AnsiPos 1, 14
  695.             Print "@X0A          How much time would you like to withdraw"
  696.             InputInt " ", INTEGER012, 15
  697.             INTEGER012 = Abs(INTEGER012)
  698.             PrintLn 
  699.             If (INTEGER012 > INTEGER013) Then
  700.                 PrintLn 
  701.                 PrintLn 
  702.                 PrintLn "@X0C               This withdrawal is greater than your banked time!"
  703.                 PrintLn 
  704.                 Wait
  705.                 Goto LABEL018
  706.             Endif
  707.             Eval FUNCTION003(-INTEGER012)
  708.             :LABEL018
  709.             Goto LABEL020
  710.             :LABEL019
  711.             Gosub LABEL005
  712.             AnsiPos 7, 14
  713.             PrintLn "@X0CSorry, but withdrawls are not available due to an upcoming event!"
  714.             Delay 55
  715.             :LABEL020
  716.             Continue
  717.         Endif
  718.         If (STRING010 == "G") Then
  719.             If (Upper(STRING011) <> "YES") Then
  720.                 Gosub LABEL005
  721.                 AnsiPos 15, 14
  722.                 Print "@X0CSorry, but this system does not condone gambling!"
  723.                 Delay 55
  724.                 Continue
  725.             Endif
  726.             If (INTEGER013 > 0) Then
  727.                 If (INTEGER013 < INTEGER016) Then
  728.                     Gosub LABEL005
  729.                     AnsiPos 13, 14
  730.                     Print "@X0AHow much time would you like to gamble"
  731.                     InputInt " ", INTEGER010, 15
  732.                     INTEGER010 = Abs(INTEGER010)
  733.                     Gosub LABEL007
  734.                     Goto LABEL021
  735.                 Endif
  736.                 Gosub LABEL005
  737.                 AnsiPos 17, 14
  738.                 Print "@X0CSorry, but your account is already maxed out!"
  739.                 Delay 55
  740.                 :LABEL021
  741.                 Continue
  742.             Endif
  743.             Gosub LABEL005
  744.             AnsiPos 15, 14
  745.             Print "@X0CSorry, but you have no time saved to gamble with!"
  746.             Delay 55
  747.         Endif
  748.     EndWhile
  749.     AdjTime INTEGER014 - MinLeft()
  750.     Gosub LABEL004
  751.     Return
  752.  
  753. ;------------------------------------------------------------------------------
  754. ;
  755. ; Usage report (before postprocessing)
  756. ;
  757. ; ■ Statements used :
  758. ;
  759. ;    6       End
  760. ;    6       Cls
  761. ;    2       ClrEol
  762. ;    10      Wait
  763. ;    8       Color 
  764. ;    100     Goto 
  765. ;    129     Let 
  766. ;    32      Print 
  767. ;    103     PrintLn 
  768. ;    77      If 
  769. ;    3       FOpen 
  770. ;    3       FClose 
  771. ;    8       FGet 
  772. ;    4       AdjTime 
  773. ;    1       Log 
  774. ;    3       InputInt 
  775. ;    26      Gosub 
  776. ;    10      Return
  777. ;    11      Delay 
  778. ;    1       InputText 
  779. ;    1       Bye
  780. ;    50      AnsiPos 
  781. ;    3       EndProc
  782. ;    3       EndFunc
  783. ;    4       DOpen 
  784. ;    4       DCloseAll
  785. ;    4       DnOpen 
  786. ;    1       DNew 
  787. ;    1       DAdd 
  788. ;    3       DTag 
  789. ;    3       DSeek 
  790. ;    2       DGet 
  791. ;    3       DPut 
  792. ;    1       Eval 
  793. ;
  794. ;
  795. ; ■ Functions used :
  796. ;
  797. ;    2       -
  798. ;    15      +
  799. ;    7       -
  800. ;    47      ==
  801. ;    6       <>
  802. ;    5       <
  803. ;    2       <=
  804. ;    15      >
  805. ;    4       >=
  806. ;    73      !
  807. ;    5       &&
  808. ;    2       ||
  809. ;    11      Upper()
  810. ;    2       Left()
  811. ;    7       Chr()
  812. ;    2       Random()
  813. ;    4       U_Name()
  814. ;    1       Inkey()
  815. ;    5       PPEPath()
  816. ;    3       CurSec()
  817. ;    4       MinLeft()
  818. ;    2       Exist()
  819. ;    1       AnsiOn()
  820. ;    4       Abs()
  821. ;    2       EvtTimeAdj()
  822. ;    3       DChkStat()
  823. ;    1       GetDrive()
  824. ;    1       FTell()
  825. ;    1       Os()
  826. ;
  827. ;------------------------------------------------------------------------------
  828. ;
  829. ; Analysis flags : A
  830. ;
  831. ; A - Adjust online time remaining ■ 5
  832. ;     Program modify the amount of online time remaining, this may
  833. ;     be a way to bypass time limits
  834. ;     ■ Search for : ADJTIME
  835. ;
  836. ;------------------------------------------------------------------------------
  837. ;
  838. ; Postprocessing report
  839. ;
  840. ;    2       For/Next
  841. ;    3       While/EndWhile
  842. ;    66      If/Then or If/Then/Else
  843. ;    0       Select Case
  844. ;
  845. ;------------------------------------------------------------------------------
  846. ;                 AEGiS Corp - Break the routines, code against the machines!
  847. ;------------------------------------------------------------------------------
  848.